The invention relates to a method and system for providing a detailed analysis of a component's behavior for use in the placement of the component in a circuit layout. In particular, the invention relates to integrating a detailed analysis of a component's thermal, mechanical, or electromagnetic behavior with computer assisted placement of components in the design of a component layout.
In modern electronic circuit fabrication, electrical components such as semiconductor devices are mounted on printed circuit boards ("PCB"), and more recently, within multichip modules ("MCM"). In printed circuit board technology, semiconductor devices or "dies" are each separately encased in a package, such as the dual in line package ("DIP"), having pin connectors extending from the package for physically plugging or mounting the component to a circuit board. Multichip module or MCM technology further minimizes space consumption by placing several dies on a single substrate within a package enclosing all of the dies. In both technologies, the components of a circuit are interconnected through a web of conductive traces. The need to minimize space consumption coupled with the increasing functionality of each chip give rise to difficult design problems.
The design of circuit layouts in printed circuit board and multi-chip module technology is an immensely complex problem due to the numerous physical, electrical, and thermal design factors. The designer's task is to place thousands of components having varying sizes and connection configurations within a minimal space while optimizing connectivity among components. To complicate this task, placement of components based on electrical constraints conflicts with placement based on thermal constraints. The designer must place components as close together as possible to minimize electrical signal delays. However, to minimize thermal interaction among components, for example, the designer must space the components sufficiently apart or provide various cooling techniques such as introducing convection cooling, heat sinks, or thermal vias to remove heat. If the designer introduces a cooling technique to the circuit layout, the designer must account for the impact of these cooling techniques on routing, the interconnection of the components.
In addition to thermal phenomena or characteristics such as thermal stress and thermal mass effects, other phenomena of an electrical component such as mechanical stress and electromagnetic effects are also critical to component placement because of the interaction among components due to such phenomena. To help account for these important design issues, designers have enlisted the aid of computers because of the complex mathematics involved. However, existing computer programs do not adequately address the impact of component behavior on component placement.
While computers can be used to optimize the design of circuit layouts, creating a program that accounts for thermal constraints as well as physical and electrical constraints poses a problem for computer programmers. The massive amount of data that must be processed to provide a detailed analysis of a component's behavior cannot be incorporated into existing placement routines. For example, existing placement programs do not adequately address the problem of thermal interaction among components. Existing placement techniques that do provide for thermal placement either over-simplify the thermal analysis by examining only the thermal parameter or fail to provide for the placement of components based on such essential design considerations such as component connectivity or component size and shape. It is needed, therefore, to provide a placement system that incorporates a detailed analysis of a component's behavior into the placement of the components in a circuit layout.
Circuit designers use placement programs to optimize placement of components on a circuit layout. Such programs employ placement algorithms that seek to provide the best placement for a given number of circuit components. Placement algorithms can be grouped in two classes: heuristic, and analytical methods. Under the heuristic method, the algorithm typically begins from a random placement of components, and then compares successive placements in a step by step process. Algorithms using this approach may produce a result that is highly dependent on the sequence of placements. Under the analytical method, the algorithm defines a function as the figure of merit for placement, then minimizes the function to obtain a placement. Both of these methods are described in more detail in L. Sha and R. Dutton, An Analytical Algorithm For Placement of Arbitrarily Sized Rectangular Blocks, 22nd Design Automation Conference, IEEE 1985. In this article, Sha and Dutton disclose a placement algorithm that uses an analytical algorithm to place components in a circuit layout. This particular technique, while incorporating the size and shape of the components, as well as connectivity among all components, fails to provide any thermal analysis.
One method for incorporating thermal analysis into the placement of components is to estimate thermal interaction by using a single thermal characteristic in the placement of the components. This approach provides for thermal placement by using a single thermal characteristic of each component, the power consumption, in the placement of the component. This approach fails to provide a detailed thermal analysis because power consumption is only one among many variables affecting thermal interaction among components.
Other placement techniques provide only thermal placement without incorporating other important electrical or physical design considerations. Such techniques may employ a heuristic algorithm including repeated steps of placing components then performing thermal analysis on each placement. In such approaches, a computer program performs a thermal analysis for a test layout by, for example, determining the maximum temperature of a layout as a whole or minimizing the temperature of each component in the layout. Then the program swaps a component and repeats the thermal analysis. With each new configuration, the program compares the thermal characteristic of a layout and substitutes a the new configuration if it provides a lower maximum temperature. This technique yields a placement that may be very dependent on the sequence of placements generated by the algorithm, and thus, must perform additional comparison to provide a better placement.
The main drawback to this type of an approach is that it requires repeated placement and checking. Such thermal analysis amounts to mere verification of the thermal characteristics of a placement rather than providing placement that integrates both thermal analysis and placement.
To provide a more optimized placement, a program should not sacrifice a thorough thermal analysis. Sophisticated thermal analysis programs exist, such as AutoTherm commercially available from Mentor Graphics, Corp., that provide a very accurate thermal picture of a PCB or MCM design layout. As in sophisticated thermal analysis products like AutoTherm, a detailed thermal analysis should take into account several thermal characteristics such as heat transfer to a substrate in MCM technology, heat transfer through a molding compound, and heat transfer through a bond to name a few. It is desired, therefore, to provide a method and system for integrating a detailed thermal analysis with a placement system. With such a method and system, placement systems could simultaneously provide circuit layouts that minimize thermal interaction among components and address electrical and physical design considerations as well.